package com.example.carrierapp.bean.home;

import java.util.List;

/**
 * 首页信息
 */
public class HomeInfoBean {
    int totalCount;//总的货运条数 ,

    DispatchBean waybillResult;//发货通知单结果 ,(Abp.Application.Services.Dto.PagedResultOutput[Logistics.Application.CarrierApp.WaybillDtos.WaybillDto], optional):


    WaybillBean dispatchResult;//运单结果 (Abp.Application.Services.Dto.PagedResultOutput[Logistics.Application.CarrierApp.DispatchDtos.DispatchDto], optional):

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

    public DispatchBean getWaybillResult() {
        return waybillResult;
    }


    public WaybillBean getDispatchResult() {
        return dispatchResult;
    }


    @Override
    public String toString() {
        return "HomeInfoBean{" +
                "totalCount=" + totalCount +
                ", waybillResult=" + waybillResult +
                ", dispatchResult=" + dispatchResult +
                '}';
    }

    public class WaybillBean {
        public int totalCount;// (integer, optional),
        public List<WaybillInfo> items;//

        @Override
        public String toString() {
            return "WaybillBean{" +
                    "totalCount=" + totalCount +
                    ", items=" + items +
                    '}';
        }
    }

    public class DispatchInfo {
        public String billCode;//通知单号 ,
        public int pickArea;//提货地址 ,
        public String pickCityName;//提货城市名称 ,
        public int takeArea;//收货地址 ,
        public String takeCityName;//收货城市名称 ,
        public int carrierId;//承运商编号 ,
        public String shipperName;//货主姓名 ,
        public double platformRate;//商品保值价 ,
        public double winOffer;//商品保值价 ,
        public int goodsPrice;//货物价格 ,
        public String goodsUnitName;//货物价格单位名称 ,
        public String proName;//货物名称 ,
        public int unit;//计价单位 (1吨2整车3件4立方) = ['1', '2', '4'],
        public String unitName;//计价单位名称 ,
        public String creationTime;//创建时间 ,
        public double thisProNum;//本次运输量 ,
        public String expiryTime;//计划截止日期 ,
        public boolean isModified;//是否修改发货通知单的预计运量或者卸货地点 ,
        public boolean isNotifiedCarrierBank;//是否通知承运宝 ,
        public int billState;//发货通知通状态 1=待运输 2=正在运输 3=所有运单送达 4=发货单交货 ,
        public int dispatchedTimes;//已调度车次数 ,
        public double dispatchedNum;//已调度运量 ,
        public int deliveredTimes;//已送达车次数 ,
        public double deliveredNum;//已送达运量 ,
        public int onlyOneDispatch;//是否只调度一次，1是0否 ,
        public int id;// (integer, optional)
        public boolean isDispatched;//是否调度

        @Override
        public String toString() {
            return "DispatchInfo{" +
                    "billCode='" + billCode + '\'' +
                    ", pickArea=" + pickArea +
                    ", pickCityName='" + pickCityName + '\'' +
                    ", takeArea=" + takeArea +
                    ", takeCityName='" + takeCityName + '\'' +
                    ", carrierId=" + carrierId +
                    ", shipperName='" + shipperName + '\'' +
                    ", platformRate=" + platformRate +
                    ", winOffer=" + winOffer +
                    ", goodsPrice=" + goodsPrice +
                    ", goodsUnitName='" + goodsUnitName + '\'' +
                    ", proName='" + proName + '\'' +
                    ", unit=" + unit +
                    ", unitName='" + unitName + '\'' +
                    ", creationTime='" + creationTime + '\'' +
                    ", thisProNum=" + thisProNum +
                    ", expiryTime='" + expiryTime + '\'' +
                    ", isModified=" + isModified +
                    ", isNotifiedCarrierBank=" + isNotifiedCarrierBank +
                    ", billState=" + billState +
                    ", dispatchedTimes=" + dispatchedTimes +
                    ", dispatchedNum=" + dispatchedNum +
                    ", deliveredTimes=" + deliveredTimes +
                    ", deliveredNum=" + deliveredNum +
                    ", onlyOneDispatch=" + onlyOneDispatch +
                    ", id=" + id +
                    ", isDispatched=" + isDispatched +
                    '}';
        }
    }

    public class DispatchBean {
        public int totalCount;// (integer, optional),
        public List<DispatchInfo> items;//

        @Override
        public String toString() {
            return "DispatchBean{" +
                    "totalCount=" + totalCount +
                    ", items=" + items +
                    '}';
        }
    }

    public class WaybillInfo {
        public int waybillId;//发货单Id ,
        public String code;//运单编码 ,
        public int carrierId;//承运商id /司机模式承运商ID为0 ,
        public int driverId;//司机外键 ,
        public String driverName;//司机名称 ,
        public String driverPhone;//司机电话 ,
        public int carId;//车辆外键 ,
        public String carNum;//车牌 ,
        public int pickArea;//提货地址 ,
        public String pickCityName;//提货城市名称 ,
        public int takeArea;//收货地址 ,
        public String takeCityName;//收货城市名称 ,
        public String proID;//产品ID ,
        public String proName;//货物名称 ,
        public double dispatchNum;//调度重量 ,
        public int unit;//计价单位 (1吨2整车3件4立方) = ['1', '2', '4'],
        public String unitName;//计价单位名称 ,
        public int state;//运单状态 = ['0', '2', '4', '5', '-1'],
        public String stateName;//运单状态 ,
        public int insureState;//投保状态 = ['0', '1', '2'],
        public String insureStateName;//投保状态名称 ,
        public int picId;//产品图片Id ,
        public String productPicPath;//产品图片路径 ,
        public boolean isChangedDes;//是否变更目的地或运量 ,
        public int unloadingArea;//卸货地编号 ,
        public int payState;//付款结算状态 -1无需结算(平推) 0未结算(默认) 1.已提交申请 2.业务审核通过 3.财务审核通过 5.到付数据(预留不做) = ['0', '1', '2', '3', '5', '-1'],
        public String payStateName;//承运商结算装态名称 ,
        public boolean isAbnormal;//是否异常 ,
        public String abnormalReason;//异常原因 ,
        public int modifiedCarNumTimes;//修改车牌次数 ,
        public int modifiedLoadingNumTimes;//修改运量-签收量-结算量次数 ,
        public String shipperName;//货主姓名 ,
        public int shipperId;//货主ID ,
        public int isLoadingActive;//装车信息审核状态0、未审核 1、审核通过 2、审核未通过 3 重新上传 ,
        public String loadingTime;//装车时间 ,
        public String signTime;//送达时间 ,
        public String creationTime;//运单创建日期 ,
        public String dueDateTip;//截止日期提示文字 ,
        public double loadingNum;//实际签收量(结算重量) ,
        public double shipment;//装车量 ,
        public int id;// (integer, optional)

        @Override
        public String toString() {
            return "WaybillInfo{" +
                    "waybillId=" + waybillId +
                    ", waybillCode='" + code + '\'' +
                    ", carrierId=" + carrierId +
                    ", driverMainId=" + driverId +
                    ", driverName='" + driverName + '\'' +
                    ", driverPhone='" + driverPhone + '\'' +
                    ", carId=" + carId +
                    ", carNumber='" + carNum + '\'' +
                    ", pickArea=" + pickArea +
                    ", pickCityName='" + pickCityName + '\'' +
                    ", takeArea=" + takeArea +
                    ", takeCityName='" + takeCityName + '\'' +
                    ", proID='" + proID + '\'' +
                    ", proName='" + proName + '\'' +
                    ", schedulingNum=" + dispatchNum +
                    ", unit=" + unit +
                    ", unitName='" + unitName + '\'' +
                    ", state=" + state +
                    ", stateName='" + stateName + '\'' +
                    ", insureState=" + insureState +
                    ", insureStateName='" + insureStateName + '\'' +
                    ", picId=" + picId +
                    ", productPicPath='" + productPicPath + '\'' +
                    ", isChangedDes=" + isChangedDes +
                    ", unloadingArea=" + unloadingArea +
                    ", payState=" + payState +
                    ", payStateName='" + payStateName + '\'' +
                    ", isAbnormal=" + isAbnormal +
                    ", abnormalReason='" + abnormalReason + '\'' +
                    ", modifiedCarNumTimes=" + modifiedCarNumTimes +
                    ", modifiedLoadingNumTimes=" + modifiedLoadingNumTimes +
                    ", shipperName='" + shipperName + '\'' +
                    ", shipperId=" + shipperId +
                    ", isLoadingActive=" + isLoadingActive +
                    ", loadingTime='" + loadingTime + '\'' +
                    ", signTime='" + signTime + '\'' +
                    ", creationTime='" + creationTime + '\'' +
                    ", dueDateTip='" + dueDateTip + '\'' +
                    ", loadingNum=" + loadingNum +
                    ", shipment=" + shipment +
                    ", id=" + id +
                    '}';
        }
    }
}
